home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / yacc / flexyacc / aflex.lha / aflex / src / dfaS.a < prev    next >
Text File  |  1991-05-16  |  3KB  |  67 lines

  1. -- Copyright (c) 1990 Regents of the University of California.
  2. -- All rights reserved.
  3. --
  4. -- This software was developed by John Self of the Arcadia project
  5. -- at the University of California, Irvine.
  6. --
  7. -- Redistribution and use in source and binary forms are permitted
  8. -- provided that the above copyright notice and this paragraph are
  9. -- duplicated in all such forms and that any documentation,
  10. -- advertising materials, and other materials related to such
  11. -- distribution and use acknowledge that the software was developed
  12. -- by the University of California, Irvine.  The name of the
  13. -- University may not be used to endorse or promote products derived
  14. -- from this software without specific prior written permission.
  15. -- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  16. -- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  17. -- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18.  
  19. -- TITLE DFA construction routines
  20. -- AUTHOR: John Self (UCI)
  21. -- DESCRIPTION converts non-deterministic finite automatons to finite ones.
  22. -- $Header: /co/ua/self/arcadia/aflex/ada/src/RCS/dfaS.a,v 1.4 90/01/12 15:19:52 self Exp Locker: self $ 
  23.  
  24. with MISC_DEFS; 
  25. with TEXT_IO; 
  26. package DFA is 
  27.   use MISC_DEFS, TEXT_IO; 
  28.   procedure CHECK_FOR_BACKTRACKING(DS    : in INTEGER; 
  29.                                    STATE : in UNBOUNDED_INT_ARRAY); 
  30.   procedure CHECK_TRAILING_CONTEXT(NFA_STATES : in INT_PTR; 
  31.                                    NUM_STATES : in INTEGER; 
  32.                                    ACCSET     : in INT_PTR; 
  33.                                    NACC       : in INTEGER); 
  34.  
  35.   procedure DUMP_ASSOCIATED_RULES(F  : in FILE_TYPE; 
  36.                                   DS : in INTEGER); 
  37.  
  38.   procedure DUMP_TRANSITIONS(F     : in FILE_TYPE; 
  39.                              STATE : in UNBOUNDED_INT_ARRAY); 
  40.  
  41.   procedure EPSCLOSURE(T                  : in out INT_PTR; 
  42.                        NS_ADDR            : in out INTEGER; 
  43.                        ACCSET             : in out INT_PTR; 
  44.                        NACC_ADDR, HV_ADDR : out INTEGER; 
  45.                        RESULT             : out INT_PTR); 
  46.  
  47.   procedure INCREASE_MAX_DFAS; 
  48.  
  49.   procedure NTOD; 
  50.  
  51.   procedure SNSTODS(SNS           : in INT_PTR; 
  52.                     NUMSTATES     : in INTEGER; 
  53.                     ACCSET        : in INT_PTR; 
  54.                     NACC, HASHVAL : in INTEGER; 
  55.                     NEWDS_ADDR    : out INTEGER; 
  56.                     RESULT        : out BOOLEAN); 
  57.  
  58.   function SYMFOLLOWSET(DS              : in INT_PTR; 
  59.                         DSIZE, TRANSSYM : in INTEGER; 
  60.                         NSET            : in INT_PTR) return INTEGER; 
  61.  
  62.   procedure SYMPARTITION(DS        : in INT_PTR; 
  63.                          NUMSTATES : in INTEGER; 
  64.                          SYMLIST   : in out C_SIZE_BOOL_ARRAY; 
  65.                          DUPLIST   : in out C_SIZE_ARRAY); 
  66. end DFA; 
  67.